C程序 |
您所在的位置:网站首页 › 字符串数组 c语言 › C程序 |
思路一: 1、建立数组str[ ]存输入的字符串,在建数组temp[ ]; 2、比较str数组第一个元素与第二个元素是否为空格, 若不是,则str的第一个元素元素赋值给’temp【0】,并将temp【1】赋值为空格,在进入下次循环; 若是,则 跳出本次循环,进行下一循环; 3、考虑字符串间原本有多个空的情况 #include #include #define N 100 void EmbedSpace(char str[]); int main() { char str[N]; printf("please input string: "); gets(str); printf("output string: "); EmbedSpace(str); return 0; } void EmbedSpace(char str[]) { char temp[N]; int i,j; for(i = 0,j = 0 ; str[i] != '\0'; i++ ,j++) { if(str[i] != ' ' && str[i+1] != ' ') { temp[j] = str[i]; j++ ; temp[j] = ' '; } //考虑字符串原本有多个空的情况 else if((str[i] != ' ' && str[i+1] == ' ')||(str[i] == ' ' && str[i+1] != ' ')||(str[i] == ' ' && str[i+1] == ' ')) { temp[j] = str[i]; temp[j+1] = str[i+1]; } } temp[j] = '\0'; puts(temp); }
思路二: 字符依次后移填空格 #include #include #include #define N 80 void EmbedSpace(char str[]); int main() { char str[N]; printf("please input string: "); gets(str); EmbedSpace(str); return 0; } void EmbedSpace(char str[]) { int i,j,len; len = strlen(str); for(i=0 ; str[i+1] != '\0' ;i++) { if((str[i] != ' ')&& (str[i+1] != ' ')) { for(j = len+1; j > i+1 ;j--) str[j] = str[j-1]; str[i+1] = ' '; len++; } } puts(str); }
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |